package com.ecloud.openapi.translate.convert;

import java.util.List;

import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import com.ecloud.openapi.translate.dto.BaseDictionaryDto;
import com.ecloud.openapi.translate.po.BaseDictionaryPo;
import com.ecloud.openapi.translate.vo.BaseDictionaryVo;

/**
 * BaseDictionaryConvert 模型转换
 *
 * @author LiuGangQiang Create in 2021/08/06
 */
@Mapper
public interface BaseDictionaryConvert {
    BaseDictionaryConvert INSTANCE = Mappers.getMapper(BaseDictionaryConvert.class);

    /**
     * {@link BaseDictionaryDto}对象 >> {@link BaseDictionaryPo}对象
     *
     * @author LiuGangQiang Create in 2021/08/06
     * @param dto 入参
     * @return {@link BaseDictionaryPo} 对象
     */
    BaseDictionaryPo dtoToPo(BaseDictionaryDto dto);

    /**
     * {@link BaseDictionaryDto}集合 >> {@link BaseDictionaryPo}集合
     *
     * @author LiuGangQiang Create in 2021/08/06
     * @param dtos 入参
     * @return {@link BaseDictionaryPo} 集合
     */
    List<BaseDictionaryPo> dtoToPo(List<BaseDictionaryDto> dtos);

    /**
     * {@link BaseDictionaryPo}对象 >> {@link BaseDictionaryVo}对象
     *
     * @author LiuGangQiang Create in 2021/08/06
     * @param dto 入参
     * @return {@link BaseDictionaryVo} 对象
     */
    BaseDictionaryVo poToVo(BaseDictionaryPo po);

    /**
     * {@link BaseDictionaryPo}集合 >> {@link BaseDictionaryVo}集合
     *
     * @author LiuGangQiang Create in 2021/08/06
     * @param dtos 入参
     * @return {@link BaseDictionaryVo} 集合
     */
    List<BaseDictionaryVo> poToVo(List<BaseDictionaryPo> pos);
}
